#pragma once
#include "ListNode.h"
class List
{
private:

	ListNode* _head;
	ListNode* _tail;
	int _size;
	void print(ListNode*) const;
public:
	List(void);
	virtual ~List(void);
	void clear();
	ListNode* add(ExtentIO* eio);
	ExtentIO* remove(ListNode* node);
	void moveToEnd(ListNode* node);
	void printList() const;
	ListNode* getHead() const;
	int getSize() const;
	ListNode* get(int index);
	ExtentIO* removeHead();
	void moveToIndex(ListNode* node, int index);
};

